<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>ModbusPal</title>
    <link rel="stylesheet" type="text/css" href="styles.css" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>

      <h1>Embedding ModbusPal without a GUI</h1>

      <h2>Introduction</h2>

      <p>In version 1.6, ModbusPal has been redesigned so that several instances
      can coexist. The core of the application resides in the modbuspal.main.ModbusPalPane
      class, which is a subclass of javax.swing.JPanel.</p>

      <p>But it is not necessary to <em>display</em> the panel in order to use it.</p>

      <p>An application can create an instance of ModbusPalPane and call the
      appropriate methods in order to perform all the actions that the user
      would perform thanks to the graphical interface.</p>

      <p>Additionally, ModbusPal offers an internal storage mechanism in order
      to identify the ModbusPalPane instances and to be able to retrieve them by
      their identifier.</p>

      <h2>API</h2>

      <dl>

          <dt>ModbusPalGui.getInstance(key)</dt>
          <dd>Create a new instance of ModbusPalPane, using <q>key</q> as its
          identifier, or return the existing ModbusPalPane that has already been
          created with this identifier.</dd>

          <dt>ModbusPalPane#getProject()</dt>
          <dd>Return the current ModbusPalProject that the ModbusPalPane is
          running.</dd>

          <dt>ModbusPalPane#setProject(project)</dt>
          <dd>Change the project that the ModbusPalPane is currently running.</dd>

          <dt>ModbusPalPane#startAll()</dt>
          <dd>Start the current link and all the automations.</dd>

          <dt>ModbusPalPane#startAllAutomations()</dt>
          <dd>Start all the automations in the project.</dd>

          <dt>ModbusPalPane#startLink()</dt>
          <dd>Start the current link, as defined in the project.</dd>

          <dt>ModbusPalPane#stopAll()</dt>
          <dd>Stop the current lnik and all the automations.</dd>

          <dt>ModbusPalPane#stopAllAutomations()</dt>
          <dd>Stop all the automations in the project.</dd>

          <dt>ModbusPalPane#stopLink()</dt>
          <dd>Stop the current link.</dd>
      </dl>

      <p>Please consult the Javadoc of ModbusPal in order to get more
      information on the methods of ModbusPalPane.</p>
      
  </body>
</html>
